const app = getApp();
import { getList,getUnReadMsg } from "../utils/chat.js";
Page({
  data:{
      chatList:[],
      dotNum:""
  },
  onLoad(){
    /**
     * 一 在线
     *    1 会推送消息，这个时候手动调用getlist 刷新列表就可以
     *    2 onshow 方法调用未读消息数量，这样就可以每次，因为即使在线也会产生未读消息，所以要
     *     每次来的时候都刷新列表的未读消息数量
     *    3 在线，列表里多了一个聊天对象，这种情况只有被推送的时候才会有，所以接收到推送的时候再去刷新列表
     * 二 不在线 
     *    1 不会推送消息，，我不在app 内，消息会存储在服务器，下次进来回去就可以
     * 
     * **/ 
  },
  onShow(){
      //登录拦截
      app.loginFilter();
      // wx.showToast({
      //   title: '这是消息',
      // }) 
      this.getListW();
  },


  
  //这个是跳入到这个页面的时候获取就可以了
//   setDotNum(){
//     //获取平台未读消息的数量
//     getUnReadMsg().then(res=>{
//      console.log(res,"获取平台未读消息的数量----------------")
//      let num = res.data.data['platform'];
//      if(num){
//         this.setData({
//           dotNum:num
//         })
//      }else{
//         this.setData({
//           dotNum:""
//         })
//      }
//      console.log(num,"--------------------平台未读消息的数量---------");
//     //tabbar设置未读消息
//     // 列表设置未读消息数量
//   })
//  },

  
  toChat(){
    console.log("跳转到聊天页面");
    //判断有没有登录
    if(wx.getStorageSync('loginInfo').openid){
         let time =new Date().getTime();
         wx.navigateTo({
           url:'/pages/platForm/chat?time='+time,
         })    
    }else{
        wx.showToast({
          title: "您还没有登录哦！",
          icon:"none"
        })
    }

    // wx.navigateTo({
    //   url: '/pages/platForm/chat', 
    // })
},





  //跳转到聊天页面
  toChatPage(e){
     let item = e.currentTarget.dataset.item;
    //  item = JSON.stringify(item);
     console.log(item,"聊天页面传值")
     let time =new Date().getTime();
     wx.navigateTo({
        url:'/pages/chat/chat?merchantId='+item.merchantId+'&time='+time,
     })
  },  

  getListW(){
    getList().then(res=>{
      console.log(res,"获取到聊天列表")
      if(res.data.data)
      this.getUnReadMsgW(res.data.data);
    })
  },

  getUnReadMsgW(chatList){
    getUnReadMsg().then(res=>{
      console.log(res,"获取到未读消息");
      let uReadMsg = res.data.data;
      chatList.forEach(item=>{
           let key = item.merchantId;
           //console.log(uReadMsg[key],"unreadMsg----")
           //根据key 获取未读消息的数量
           //console.log(key,"key");
           if(uReadMsg&&uReadMsg[key]){
                 item.uReadMsg = uReadMsg[key];
                 //console.log(uReadMsg[Key],"获取到一个未读消息");
           }
      })  


      let num = res.data.data['platform'];
      if(num){
        this.setData({
          dotNum:num,
          chatList
        })
      }else{
        this.setData({
          dotNum:"",
          chatList
        })
      }
      
      console.log(chatList,"chatlist --------------")
    })
  },
 







//组件自带方法-----------------------------------------
  showModal(e) {
    this.setData({
      modalName: e.currentTarget.dataset.target
    })
  },
  hideModal(e) {
    this.setData({
      modalName: null
    })
  },
  gridchange: function (e) {
    this.setData({
      gridCol: e.detail.value
    });
  },
  gridswitch: function (e) {
    this.setData({
      gridBorder: e.detail.value
    });
  },
  menuBorder: function (e) {
    this.setData({
      menuBorder: e.detail.value
    });
  },
  menuArrow: function (e) {
    this.setData({
      menuArrow: e.detail.value
    });
  },
  menuCard: function (e) {
    this.setData({
      menuCard: e.detail.value
    });
  },
  switchSex: function (e) {
    this.setData({
      skin: e.detail.value
    });
  },

  // ListTouch触摸开始
  ListTouchStart(e) {
    this.setData({
      ListTouchStart: e.touches[0].pageX
    })
  },

  // ListTouch计算方向
  ListTouchMove(e) {
    this.setData({
      ListTouchDirection: e.touches[0].pageX - this.data.ListTouchStart > 0 ? 'right' : 'left'
    })
  },

  // ListTouch计算滚动
  ListTouchEnd(e) {
    if (this.data.ListTouchDirection =='left'){
      this.setData({
        modalName: e.currentTarget.dataset.target
      })
    } else {
      this.setData({
        modalName: null
      })
    }
    this.setData({
      ListTouchDirection: null
    })
  },
})